#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include <sys/wait.h>
//C语言下调用执行C++程序
int main()
{
    printf("我变成了一个进程：%d\n", getpid());

    pid_t id = fork();
    if(id == 0)
    {
        sleep(2);
        printf("下面的代码都是子进程在执行:\n");
        execl("./test/Test","Test",NULL);//执行C++程序
        //execl("/usr/bin/python3.6","python3.6","test.py",NULL);//执行python程序
        //只有第一个替换失败才执行第二个替换
        return 0;
    }
    
    // 父进程代码可以放在这里
    wait(NULL);  // 等待子进程结束
    printf("父进程结束\n");
    int status = 0;
    pid_t rid = waitpid(id, &status, 0);
    if(rid > 0)
    {
        printf("wait success, exit code: %d\n", WEXITSTATUS(status));
    }  
    return 0;
}
